package com.slg.mybatis.mapper;

import com.slg.mybatis.entity.User;
import org.apache.ibatis.annotations.Param;
import org.w3c.dom.ls.LSInput;

import java.util.List;

/**
 * @Author: 小小张的小小施
 * @Date: 2024/1/26
 *
 * 动态sql
 * 动态sql 是Mybatis 的强大特性之一
 * 如果你是用过JDBC或者其他类似的框架，你应该能理解根据不同条件拼接SQL语句有多痛苦
 * 例如拼接时要确保不能忘记添加必要的空格，还要注意去掉表列表最后一个列明的逗号。
 * 利用动态SQL  可以彻底摆脱这种痛苦
 *
 *
 * 1、项目中搜索业务   tel   username
 *              select * from user
 * tel :        select * from user where tel=?
 * username :        select * from user where username=?
 * tel,username :        select * from user where tel=? and username = ?
 *
 * 1、罗列所有可以的sql语句
 *if(tel !=null && username!=null){
 *     select * from user where username = ? and tel = ?
 *}
 *
 * 2、sql语句的字符串拼接
 * String sql = "select * from user where 1==1"
 * if(tel != null){
 *     sql +=" and tel = ?"
 * }
 *
 *
 * if(username != null){
 *     sql+="username=?"
 * }
 *
 * */
public interface UserMapper {

    List<User> searchUsers(User user);


    Integer updateUser(User user);

    Integer deleteUser(@Param("ids") List<Integer> ids);


}
